package com.ruoyi.wvp.service;

import java.util.List;
import com.ruoyi.wvp.domain.CommunityEventCount;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.wvp.entity.HomePageParams;
import com.ruoyi.wvp.entity.Statistics;

/**
 * 社区事件统计Service接口
 * 
 * @author ruoyi
 * @date 2024-08-25
 */
public interface ICommunityEventCountService extends IService<CommunityEventCount>{
    /**
     * 查询社区事件统计
     * 
     * @param id 社区事件统计主键
     * @return 社区事件统计
     */
    public CommunityEventCount selectCommunityEventCountById(Long id);

    /**
     * 查询社区事件统计列表
     * 
     * @param communityEventCount 社区事件统计
     * @return 社区事件统计集合
     */
    public List<CommunityEventCount> selectCommunityEventCountList(CommunityEventCount communityEventCount);

    /**
     * 新增社区事件统计
     * 
     * @param communityEventCount 社区事件统计
     * @return 结果
     */
    public int insertCommunityEventCount(CommunityEventCount communityEventCount);

    /**
     * 修改社区事件统计
     * 
     * @param communityEventCount 社区事件统计
     * @return 结果
     */
    public int updateCommunityEventCount(CommunityEventCount communityEventCount);

    /**
     * 批量删除社区事件统计
     * 
     * @param ids 需要删除的社区事件统计主键集合
     * @return 结果
     */
    public int deleteCommunityEventCountByIds(Long[] ids);

    /**
     * 删除社区事件统计信息
     * 
     * @param id 社区事件统计主键
     * @return 结果
     */
    public int deleteCommunityEventCountById(Long id);

     /**
        * 查询所有社区事件统计信息
        *
        * @return 结果
        */
    List<CommunityEventCount> listAll(CommunityEventCount communityEventCount,HomePageParams homePageParams);

    List<CommunityEventCount> listAll(CommunityEventCount communityEventCount);
     /**
        * 分页查询社区事件统计信息
        *
        * @return 结果
        */
    Page<CommunityEventCount> pageList(Page<CommunityEventCount> page,CommunityEventCount communityEventCount);

    boolean addCommunityEventCount(String communityCode);

    //同步当前月的事件统计数据
    void sync();

    Statistics statistics(HomePageParams homePageParams);
}
